---
title: DrawingControllerRenderer 绘图控制器渲染器
icon: PencilRuler
relatedFile: app/src/core/render/canvas2d/controllerRenderer/drawingRenderer.tsx
---

绘图控制器渲染服务

该服务负责在用户进行绘图操作时，实时渲染各种临时绘图元素和辅助工具。它与项目中的控制器和渲染器协同工作，根据鼠标输入、键盘修饰键和当前设置，动态更新画布上的视觉反馈。

### 核心功能

*   **临时绘图渲染**
    *   在鼠标左键按下并拖动时，实时绘制笔画轨迹。
    *   支持绘制直线，包括按住 `Shift` 键时的自由直线，以及按住 `Shift` 和 `Control` 键时强制水平或垂直的直线。
    *   根据当前笔触宽度，渲染鼠标跟随的笔尖预览（实心或空心圆）。
    *   在调整笔触宽度时，显示调整状态的圆形指示器和当前宽度文本。

### 辅助渲染

*   **鼠标辅助线渲染**
    *   在直线模式下，渲染一个跟随鼠标的十字准星。
*   **角度量角器渲染**
    *   在鼠标位置周围渲染一个可旋转的角度量角器，用于辅助用户进行精确的角度测量和绘图。

### API 方法

#### `renderTempDrawing()`

渲染当前临时的绘图内容，包括正在绘制的笔画、直线预览、笔尖光标以及笔触宽度调整指示器。

#### `rotateUpAngle()`

将角度量角器的显示角度向上（顺时针）旋转 5 度。

#### `rotateDownAngle()`

将角度量角器的显示角度向下（逆时针）旋转 5 度。
